//
//  HomeViewController.m
//  OCStudy
//
//  Created by tomato on 2021/8/22.
//

#import "HomeViewController.h"
#import "WangLuoHomeVC.h"

@interface HomeViewController ()<UITableViewDelegate,UITableViewDataSource>

@property (nonatomic ,strong)UITableView *tableView;
@property (nonatomic ,copy)NSArray *dataArray;
@property (nonatomic ,copy)NSArray *classArray;


@end

@implementation HomeViewController

- (void)viewDidLoad {
    [super viewDidLoad];
   
    self.dataArray = @[@"网络学习",@"数据加密",@"MGJRouter路由"];
    self.classArray = @[@"WangLuoHomeVC",@"JiaMiViewController",@"LuYouVC"];
    
    [self.view addSubview:self.tableView];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return self.dataArray.count;
}

//什么时候调用：每当有一个cell进入视野范围内就会调用
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    // 0.重用标识
    // 被static修饰的局部变量：只会初始化一次，在整个程序运行过程中，只有一份内存
    static NSString *ID = @"cell";
    //tableView性能优化 - cell的循环利用方式1
    // 1.先根据cell的标识去缓存池中查找可循环利用的cell
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
    // 2.如果cell为nil（缓存池找不到对应的cell）
    if (cell == nil){
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID];
    }
    //3.覆盖数据
    cell.textLabel.text = self.dataArray[indexPath.row];
    return cell;

}
#pragma mark - lazy loading
-(UITableView *)tableView{

    if (_tableView == nil) {

        _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0,0,SCREEN_WIDTH,SCREEN_HEIGHT - kTabBarHeight) style:UITableViewStylePlain];
        _tableView.delegate = self;
        _tableView.dataSource = self;
        _tableView.separatorStyle =  UITableViewCellSeparatorStyleNone;//不显示cell的分割线
        _tableView.showsVerticalScrollIndicator = NO;
        _tableView.sectionFooterHeight = 20*m6Scale;
        _tableView.estimatedRowHeight = 0;
        _tableView.estimatedSectionHeaderHeight = 0;
        _tableView.estimatedSectionFooterHeight = 0;
    }
    return _tableView;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    
    
    NSString *classStr = self.classArray[indexPath.row];
    Class cls = NSClassFromString(classStr);//根据字符串转成类
    [self.navigationController pushViewController:[[cls alloc] init] animated:YES];
    
}
@end
